#include <iostream>
using std::cout;
using std::endl;


class A
{
public:
	void Print();
	
//	void Print()
//	{
//		cout << "Carl" << endl;
//	}
	
private:
	static int m_s_a;
};
int A::m_s_a = 0;

namespace Carl
{
	void Print();
	
	void Print()
	{
		cout << "Carl" << endl;
	}
}

//void Carl::Print()
//{
//	cout << "Carl" << endl;
//}

inline void ADD();

inline void ADD()
{
	cout << "ADD1" << endl;
}

#include <iostream>
using std::cout;
using std::endl;

// 这样也不会调用公有的Date，因为调用不明确

class Date
{
public:
	Date(int year = 1)
	{
		cout << "Date()" << endl;
	}
	
private:
	int year_;
	
	Date()
	{
		cout << "Date()" << endl;
	}
};



int main()
{
	Date a;
	
	return 0;
}

//int main()
//{
//	
//	cout << sizeof(A) << endl;
//	// int Carl::a = 5;
//	
//	//Carl::Print();
//	
//	return 0;
//}


//void Print(int (&arr)[5])
//{
//	for (auto e : arr)
//	{
//		cout << e << endl;
//	}
//}
//
//void Print(int (*parr)[5])
//{
//	for (auto e : *parr)
//	{
//		cout << e << endl;
//	}
//}
//
//int main()
//{
////	int arr[5] = { 1,2,3,4,5 };
////	Print(arr);
//	
//	int arr[2][3] = { 0 };
//	int (*parr)[2][3] = &arr;
//	
//	return 0;
//}

//	const int a = 0;
//	const int* pa = &a;
//	int* pa2 = (int*)pa;
//	*pa2 = 2;
//	cout << a << endl;
